package vue;

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

import aspiration.Downloader;
import aspiration.FileDownloader;
import aspiration.FileSizeFilter;


/**
 * vue du filtrage de taille max de fichier
 *
 */
public class FileSizeFilterView extends JPanel {
	
	private static final long serialVersionUID = 1L;
	
	/**
	 * zone de saisie de la taille max
	 */
	JTextField zoneTexte;
	
	/**
	 * constructeur
	 *
	 */
	public FileSizeFilterView() {
		super();
		zoneTexte=new JTextField();
		setBorder(BorderFactory.createTitledBorder("Maximum file size"));
		zoneTexte.setPreferredSize(new Dimension(40,20));
		this.add(zoneTexte,BorderLayout.CENTER);
		this.add(new JLabel(" Ko"),BorderLayout.CENTER);
		zoneTexte.setText("100");
			
		
	}
	
	/**
	 * cr�ation du filtre
	 * @param d downloader � d�corer
	 * @return filtre de taille max par fichier
	 */
	public FileSizeFilter creerFiltre(Downloader d) {
		
		FileSizeFilter fsf=new FileSizeFilter((FileDownloader)d);
		
		try{
			fsf.setFileMaxSize(Integer.valueOf(this.zoneTexte.getText())*1024);
		}catch (NumberFormatException n){
			fsf.setFileMaxSize(10*1024);
		}
		return fsf; 
	}
}
